package com.haixinga.commbiz.commons.biz;

import com.haixinga.commbiz.commons.constants.CS;
import com.haixinga.commbiz.commons.vo.AbstractLoginUserVO;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;

/**
 * @Author terrfly
 * @Date 2020/4/4 8:48
 * @Description TODO
 **/
public class UserKit {

    /** 仅在项目启动完成，并且在req请求中使用！！ */
    /** 获取当前用户ID */
    public static <T> T getCurrentUser(Class<? extends AbstractLoginUserVO> T){
        return (T)
                RequestContextHolder.getRequestAttributes()
                        .getAttribute(CS.REQ_CONTEXT_KEY_USERINFO, RequestAttributes.SCOPE_REQUEST);
    }

    /** 仅在项目启动完成，并且在req请求中使用！！ */
    public static <T> AbstractLoginUserVO getCurrentUser(){
        return getCurrentUser(AbstractLoginUserVO.class);
    }

}
